Introduction

Plants make trade offs, just like any organism. We know that many plants make allocational trade offs between the growth of physical, defensive, and reproductive structures, putting more energy or nutrients towards one or two of these groups of structures. For pollinators and seed dispersers, size and showiness influence visitation; that is, larger plants or plants with more flowers/fruits are more likely to attract flying pollinators. To this end, we are interested in investigating what trade offs are made in a apidae-pollinated cactus, Cylindropuntia acanthocarpa. We hypothesize that physical and reproductive structures will have a negative relationship at median levels of structural output, but will plateau as cacti reach their maximum size.

Metrics of physical output (predictor variables) are:

  1. Volume
  2. Total branches
  3. New growth branches

Metrics of reproductive output (response variables) are:

  1. Flower buds per cactus
  2. Fruits per cactus
  3. Blooming flowers on June 8th, 2019
  4. Fruit weight
  5. Fruit volume
  6. Seed weight (being collected now)
  7. Seeds per fruit/cactus (being collected now)

Dataset

##   cactus.id tag  X      lat       lon   x   y  z  volume newgrowth health
## 1         1 400 NA 34.78159 -115.6625  53  49 52  135044        15      5
## 2         2 399 NA 34.78162 -115.6625  71  60 55  234300        20      3
## 3         3 398 NA 34.78164 -115.6624  20  13 23    5980        18      5
## 4         4 397 NA 34.78157 -115.6624 120 103 85 1050600       100      4
## 5         5 396 NA 34.78162 -115.6623   9   5 26    1170         3      5
## 6         6 395 NA 34.78164 -115.6622  82  63  4   20664        75      4
##   branches transect meter distance blooms buds fruits nest notes
## 1      210        1     5        1      1  100     32    1      
## 2      500        1    10        0      1   90     21    0      
## 3       50        1    15        2      0    0      0    0      
## 4     1000        1    20        4      1  390    156    1      
## 5       10        1    25        0      0    0      0    0      
## 6      600        1    30        0      1  600     42    0
##   cactus.id tag fruit.id fruit.weight fruit.x fruit.y fruit.z color seeds
## 1        NA 388        1         4.95      20      20      20  grey      
## 2        NA 388        2         2.90      20      20      20  grey      
## 3        NA 388        3         3.61      20      20      20  grey      
## 4        NA 388        4         2.72      20      20      20  grey      
## 5        NA 388        5         5.69      20      20      23  grey      
## 6        NA 388        6         2.77      20      20      20  grey
##   cactus.id tag fruit.id seed.rep seed.weight mean.seed.weight
## 1        NA  NA       NA        1          NA               NA
## 2        NA  NA       NA        2          NA               NA
## 3        NA  NA       NA        3          NA               NA
## 4        NA  NA       NA        4          NA               NA
## 5        NA  NA       NA        5          NA               NA
##   cactus.id.x tag      lat       lon  x  y  z volume newgrowth health
## 1           1 400 34.78159 -115.6625 53 49 52 135044        15      5
## 2           1 400 34.78159 -115.6625 53 49 52 135044        15      5
## 3           1 400 34.78159 -115.6625 53 49 52 135044        15      5
## 4           1 400 34.78159 -115.6625 53 49 52 135044        15      5
## 5           1 400 34.78159 -115.6625 53 49 52 135044        15      5
## 6           1 400 34.78159 -115.6625 53 49 52 135044        15      5
##   branches transect meter distance blooms buds fruits nest notes fruit.id
## 1      210        1     5        1      1  100     32    1             81
## 2      210        1     5        1      1  100     32    1             82
## 3      210        1     5        1      1  100     32    1             83
## 4      210        1     5        1      1  100     32    1             84
## 5      210        1     5        1      1  100     32    1             85
## 6      210        1     5        1      1  100     32    1             86
##   fruit.weight fruit.x fruit.y fruit.z color seeds fruit.volume
## 1         4.02      20      20      20  grey               8000
## 2         4.13      20      20      20  grey               8000
## 3         3.69      20      20      20  grey               8000
## 4         4.03      20      20      20  grey               8000
## 5         4.05      20      20      20  grey               8000
## 6         5.08      20      20      20  grey               8000

Viz

Maps

## Source : https://maps.googleapis.com/maps/api/staticmap?center=34.7812,-115.662&zoom=19&size=640x640&scale=2&maptype=terrain&language=en-EN&key=xxx-bqxi8TVY5Q

Histograms of variables

Distributions of and relationships between reproductive outputs

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Distributions of and relationships between physical outputs

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Here we examine different metrics for total size of a cactus against the reproductive output for each cactus (as represented by total number of floral buds).

Size versus reproductive output: Buds

There is a large skew for smaller plants in our sampling resulting in a Poisson Distribution, which makes it difficult to know if there is actually a trade off in allocation happening.

Size versus reproduction: Fruits

Size versus reproduction: Fruit weight

Size versus reproduction: Fruit volume

Per Capita Size as Predictor Variables

Because it stands that larger plants have more branches, and therefore, more apical nodes from which buds can grow, we should investigate buds-per-branch as a standardized metric for reproductive output.

##   cactus.id tag  X      lat       lon   x   y  z  volume newgrowth health
## 1         1 400 NA 34.78159 -115.6625  53  49 52  135044        15      5
## 2         2 399 NA 34.78162 -115.6625  71  60 55  234300        20      3
## 3         3 398 NA 34.78164 -115.6624  20  13 23    5980        18      5
## 4         4 397 NA 34.78157 -115.6624 120 103 85 1050600       100      4
## 5         5 396 NA 34.78162 -115.6623   9   5 26    1170         3      5
## 6         6 395 NA 34.78164 -115.6622  82  63  4   20664        75      4
##   branches transect meter distance blooms buds fruits nest notes    logvol
## 1      210        1     5        1      1  100     32    1       11.813356
## 2      500        1    10        0      1   90     21    0       12.364358
## 3       50        1    15        2      0    0      0    0        8.696176
## 4     1000        1    20        4      1  390    156    1       13.864872
## 5       10        1    25        0      0    0      0    0        7.064759
## 6      600        1    30        0      1  600     42    0        9.936148
##     logbra   lognew budsperbranch
## 1 5.347108 2.708050     0.4761905
## 2 6.214608 2.995732     0.1800000
## 3 3.912023 2.890372     0.0000000
## 4 6.907755 4.605170     0.3900000
## 5 2.302585 1.098612     0.0000000
## 6 6.396930 4.317488     1.0000000
## NULL
## NULL
## NULL

Even with accounting for buds/branch, the scatter plots of any size metric and buds as a reproductive output are funnel shaped. All this means is that future statistical models need to be built for a Poisson distribution.

Models

Test for correlation between levels within factors

#Correlation between physical outputs
#volume and new growth
vncor <- cor.test(paired$volume, paired$newgrowth, method="pearson")
vncor #positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  paired$volume and paired$newgrowth
## t = 5.1735, df = 98, p-value = 1.22e-06
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2934492 0.6045865
## sample estimates:
##       cor 
## 0.4631707
#volume and branches
vbcor <- cor.test(paired$volume, paired$branches, method="pearson")
vbcor # positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  paired$volume and paired$branches
## t = 12.515, df = 98, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6949209 0.8497961
## sample estimates:
##       cor 
## 0.7842876
#new growth and branches
nbcor <- cor.test(paired$newgrowth, paired$branches, method="pearson")
nbcor #positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  paired$newgrowth and paired$branches
## t = 6.7144, df = 98, p-value = 1.239e-09
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4101262 0.6824958
## sample estimates:
##      cor 
## 0.561326
#All predictors are correlated, so I believe we don't want interacting models. 


#Correlation between reproductive outputs
#buds and fruits
bfcor <- cor.test(paired$buds, paired$fruits, method="pearson")
bfcor #positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  paired$buds and paired$fruits
## t = 4.8485, df = 58, p-value = 9.697e-06
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3278193 0.6960464
## sample estimates:
##     cor 
## 0.53704
#blooms and fruits
bbcor <- cor.test(paired$blooms, paired$fruits, method="pearson")
bbcor #positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  paired$blooms and paired$fruits
## t = 3.3745, df = 58, p-value = 0.001324
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1685158 0.5975616
## sample estimates:
##       cor 
## 0.4051059
#buds and fruit weight
bfwcor <- cor.test(master$buds, master$fruit.weight, method="pearson")
bfwcor #not correlated
## 
##  Pearson's product-moment correlation
## 
## data:  master$buds and master$fruit.weight
## t = -0.049008, df = 688, p-value = 0.9609
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.07649596  0.07277997
## sample estimates:
##          cor 
## -0.001868407
#buds and fruit volume
bfvcor <- cor.test(master$buds, master$fruit.volume, method="pearson")
bfvcor #not correlated
## 
##  Pearson's product-moment correlation
## 
## data:  master$buds and master$fruit.volume
## t = -0.17508, df = 688, p-value = 0.8611
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.08127238  0.06799746
## sample estimates:
##          cor 
## -0.006674644
#fruit number and fruit weight
ffwcor <- cor.test(master$fruits, master$fruit.weight, method="pearson")
ffwcor #not correlated
## 
##  Pearson's product-moment correlation
## 
## data:  master$fruits and master$fruit.weight
## t = 1.4461, df = 415, p-value = 0.1489
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.02539481  0.16571136
## sample estimates:
##      cor 
## 0.070808
#fruit number and fruit volume
ffvcor <- cor.test(master$fruits, master$fruit.volume, method="pearson")
ffvcor #not correlated
## 
##  Pearson's product-moment correlation
## 
## data:  master$fruits and master$fruit.volume
## t = 0.35697, df = 415, p-value = 0.7213
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.07864194  0.11335993
## sample estimates:
##        cor 
## 0.01752052
#fruit weight and fruit volume
fwfvcor <- cor.test(master$fruit.weight, master$fruit.volume, method="pearson")
fwfvcor #positively correlated
## 
##  Pearson's product-moment correlation
## 
## data:  master$fruit.weight and master$fruit.volume
## t = 13.93, df = 688, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4087134 0.5252917
## sample estimates:
##       cor 
## 0.4690431

Test for Multicolinearity using VIFs

#Variance Inflation Factors
#We can tell when a factor is a problem in a model when it's VIF is much higher than the rest of the VIFs.
#I've computed the VIFs for the levels in models that had multiple levels and significance.

#buds and size additive
vif(glm(buds~newgrowth + volume + branches, data=paired, family="quasipoisson"))
## newgrowth    volume  branches 
##  1.663056  2.110843  2.895856
#ok

#buds and size interactions
vif(glm(buds~newgrowth * volume * branches, data=paired, family="quasipoisson"))
##                 newgrowth                    volume 
##                 28.939677                 26.355608 
##                  branches          newgrowth:volume 
##                  8.935625                 92.673389 
##        newgrowth:branches           volume:branches 
##                 68.037553                 33.937054 
## newgrowth:volume:branches 
##                137.532057
#not ok 

#fruit weight and size additive
vif(glm(fruit.weight ~ newgrowth + volume + branches, data=master, family="quasipoisson"))
## newgrowth    volume  branches 
##  1.403936  2.229466  2.523663
#ok

#fruit weight and size interactions
vif(glm(fruit.weight ~ newgrowth * volume * branches, data=master, family="quasipoisson"))
##                 newgrowth                    volume 
##                  20.09368                  24.99163 
##                  branches          newgrowth:volume 
##                  12.67441                  71.82535 
##        newgrowth:branches           volume:branches 
##                  81.06888                  35.52867 
## newgrowth:volume:branches 
##                 141.65505
#not ok

#fruit volume and size additive
vif(glm(fruit.volume~newgrowth + volume + branches, data=master, family="quasipoisson"))
## newgrowth    volume  branches 
##  1.397784  2.250593  2.548703
#ok

#fruit volume and size interactions
vif(glm(fruit.volume~newgrowth * volume * branches, data=master, family="quasipoisson"))
##                 newgrowth                    volume 
##                  19.16325                  23.47662 
##                  branches          newgrowth:volume 
##                  12.13289                  62.10096 
##        newgrowth:branches           volume:branches 
##                  72.91152                  32.31146 
## newgrowth:volume:branches 
##                 120.22821
#not ok

#fruits and fruit weight/volume additive
vif(glm(fruits~fruit.weight + fruit.volume, data=master, family="quasipoisson"))
## fruit.weight fruit.volume 
##     2.631104     2.631104
#ok

#fruits and fruit weight/volume interactions
vif(glm(fruits~fruit.weight * fruit.volume, data=master, family="quasipoisson"))
##              fruit.weight              fruit.volume 
##                  6.768517                  4.433034 
## fruit.weight:fruit.volume 
##                 10.393665
#maybe ok...maybe not ok.

#buds and fruit additive
vif(glm(buds~fruits + fruit.weight + fruit.volume, data=master, family="quasipoisson"))
##       fruits fruit.weight fruit.volume 
##     1.015371     2.773783     2.752179
#ok

#buds and fruit interactions
vif(glm(buds~fruits * fruit.weight * fruit.volume, data=master, family="quasipoisson"))
##                           fruits                     fruit.weight 
##                         9.566462                        20.723698 
##                     fruit.volume              fruits:fruit.weight 
##                        14.240577                        34.263297 
##              fruits:fruit.volume        fruit.weight:fruit.volume 
##                        28.191347                        36.428910 
## fruits:fruit.weight:fruit.volume 
##                        37.991465
#not ok

#generally, the interactive models have too many high and low VIFS

Allocation between physical and reproductive structures: Buds

#Volume as a predictor for repro output
m1 <- glm(buds~volume, data=paired, family="quasipoisson")
summary(m1) #significant
## 
## Call:
## glm(formula = buds ~ volume, family = "quasipoisson", data = paired)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -20.25  -12.31   -5.36    2.13   36.89  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.353e+00  1.580e-01  27.558  < 2e-16 ***
## volume      2.188e-06  3.808e-07   5.747 1.03e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 165.6444)
## 
##     Null deviance: 17720  on 99  degrees of freedom
## Residual deviance: 13664  on 98  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#New growth as predictor for repro output
m2 <- glm(buds~newgrowth, data=paired, family="quasipoisson")
summary(m2) #significant
## 
## Call:
## glm(formula = buds ~ newgrowth, family = "quasipoisson", data = paired)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -16.723  -12.704   -6.745    2.874   32.796  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.355210   0.180849  24.082  < 2e-16 ***
## newgrowth   0.013003   0.003166   4.108  8.3e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 184.7798)
## 
##     Null deviance: 17720  on 99  degrees of freedom
## Residual deviance: 15242  on 98  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#Number of branches as predictor for repro output
m3 <- glm(buds~branches, data=paired, family="quasipoisson")
summary(m3) #significant
## 
## Call:
## glm(formula = buds ~ branches, family = "quasipoisson", data = paired)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -25.770  -10.133   -4.700    2.791   29.027  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 3.9830941  0.1635601  24.352  < 2e-16 ***
## branches    0.0015682  0.0001837   8.537 1.79e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 118.8157)
## 
##     Null deviance: 17720  on 99  degrees of freedom
## Residual deviance: 10494  on 98  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#All are significant, so let's include all in one model
m4 <- glm(buds~newgrowth + volume + branches, data=paired, family="quasipoisson")
summary(m4) #significant
## 
## Call:
## glm(formula = buds ~ newgrowth + volume + branches, family = "quasipoisson", 
##     data = paired)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -24.292  -10.204   -4.878    2.683   30.258  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.978e+00  1.714e-01  23.208  < 2e-16 ***
## newgrowth   -4.356e-04  3.368e-03  -0.129    0.897    
## volume       2.839e-07  5.699e-07   0.498    0.620    
## branches     1.491e-03  3.200e-04   4.661 1.02e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 122.571)
## 
##     Null deviance: 17720  on 99  degrees of freedom
## Residual deviance: 10461  on 96  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#posthoc of model that includes all factors
anova(m4, test="Chisq") #all factors important.
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: buds
## 
## Terms added sequentially (first to last)
## 
## 
##           Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                         99      17720              
## newgrowth  1   2477.9        98      15242 6.917e-06 ***
## volume     1   2099.8        97      13142 3.488e-05 ***
## branches   1   2681.0        96      10461 2.913e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
m5 <- glm(buds~newgrowth * volume * branches, data=paired, family="quasipoisson")
summary(m5) #branches and volume:branches are significant, but this is an inappropriate model due to high VIFS
## 
## Call:
## glm(formula = buds ~ newgrowth * volume * branches, family = "quasipoisson", 
##     data = paired)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -20.346   -6.689   -4.187    2.459   26.529  
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                2.803e+00  3.878e-01   7.230 1.39e-10 ***
## newgrowth                  1.869e-02  1.314e-02   1.422  0.15833    
## volume                     3.380e-06  1.854e-06   1.823  0.07151 .  
## branches                   3.697e-03  6.132e-04   6.029 3.39e-08 ***
## newgrowth:volume          -5.512e-09  3.607e-08  -0.153  0.87886    
## newgrowth:branches        -2.730e-05  1.633e-05  -1.671  0.09809 .  
## volume:branches           -4.762e-09  1.683e-09  -2.829  0.00573 ** 
## newgrowth:volume:branches  2.344e-11  3.868e-11   0.606  0.54592    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 87.05599)
## 
##     Null deviance: 17720.1  on 99  degrees of freedom
## Residual deviance:  7188.2  on 92  degrees of freedom
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#posthoc of model with all factors interactors 
anova(m5, test="Chisq")
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: buds
## 
## Terms added sequentially (first to last)
## 
## 
##                           Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                                         99    17720.1              
## newgrowth                  1  2477.91        98    15242.2 9.548e-08 ***
## volume                     1  2099.83        97    13142.3 9.049e-07 ***
## branches                   1  2680.96        96    10461.4 2.867e-08 ***
## newgrowth:volume           1   251.14        95    10210.2  0.089416 .  
## newgrowth:branches         1  2051.27        94     8159.0 1.209e-06 ***
## volume:branches            1   939.01        93     7220.0  0.001023 ** 
## newgrowth:volume:branches  1    31.80        92     7188.2  0.545577    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Let's have volume (and then again number of branches) be considered as random factors, and try some GLMMs. 

m6 <- glmer(buds~newgrowth + (1|volume) + (1|branches), data=paired, family="poisson")
summary(m6)
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: poisson  ( log )
## Formula: buds ~ newgrowth + (1 | volume) + (1 | branches)
##    Data: paired
## 
##      AIC      BIC   logLik deviance df.resid 
##   1049.0   1059.4   -520.5   1041.0       96 
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -1.48191 -0.25459  0.00630  0.02868  0.39792 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  volume   (Intercept) 1.190    1.091   
##  branches (Intercept) 4.116    2.029   
## Number of obs: 100, groups:  volume, 100; branches, 45
## 
## Fixed effects:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) 2.902938   0.397441   7.304 2.79e-13 ***
## newgrowth   0.016246   0.006953   2.336   0.0195 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##           (Intr)
## newgrowth -0.547
#posthoc of model with volume and branches as random factors
anova(m6, test="Chisq") #significant, but maybe not really a good model, biologically speaking. 
## Analysis of Variance Table
##           Df Sum Sq Mean Sq F value
## newgrowth  1 6.1632  6.1632  6.1632

Allocation between physical and reproductive structures: Fruit

#fruits
#volume
m27 <-glm(fruits~volume, data=master, family="quasipoisson")
summary(m27) #not significant
## 
## Call:
## glm(formula = fruits ~ volume, family = "quasipoisson", data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -10.313   -6.361   -1.035    4.265   16.516  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 3.922e+00  5.023e-02   78.09   <2e-16 ***
## volume      1.534e-06  1.197e-07   12.81   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 41.03238)
## 
##     Null deviance: 22088  on 430  degrees of freedom
## Residual deviance: 16747  on 429  degrees of freedom
##   (286 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#branches
m28 <- glm(fruits~branches, data=master, family="quasipoisson")
summary(m28) #not significant
## 
## Call:
## glm(formula = fruits ~ branches, family = "quasipoisson", data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -10.198   -6.053   -1.655    3.440   16.670  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 3.7694493  0.0547636   68.83   <2e-16 ***
## branches    0.0009810  0.0000673   14.57   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 37.20987)
## 
##     Null deviance: 22088  on 430  degrees of freedom
## Residual deviance: 15417  on 429  degrees of freedom
##   (286 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#new growth
m29 <- glm(fruits~newgrowth, data=master, family="quasipoisson")
summary(m29) #significant
## 
## Call:
## glm(formula = fruits ~ newgrowth, family = "quasipoisson", data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -12.214   -6.449   -0.908    3.732   18.217  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.085421   0.060953  67.025  < 2e-16 ***
## newgrowth   0.005035   0.001035   4.864 1.61e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 54.62692)
## 
##     Null deviance: 22088  on 430  degrees of freedom
## Residual deviance: 20901  on 429  degrees of freedom
##   (286 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#additive
m30 <- glm(fruits ~ newgrowth + volume + branches, data=master, family="quasipoisson")
summary(m30) #only newgrowth is significant
## 
## Call:
## glm(formula = fruits ~ newgrowth + volume + branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -10.1568   -5.6507   -0.4697    3.0856   14.2096  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.770e+00  5.406e-02  69.736  < 2e-16 ***
## newgrowth   -4.013e-03  1.029e-03  -3.900 0.000112 ***
## volume       7.057e-07  1.599e-07   4.413 1.29e-05 ***
## branches     9.579e-04  1.083e-04   8.847  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 32.99825)
## 
##     Null deviance: 22088  on 430  degrees of freedom
## Residual deviance: 14243  on 427  degrees of freedom
##   (286 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
anova(m30, test="Chisq") #still, newgrowth is the only significant predictor
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: fruits
## 
## Terms added sequentially (first to last)
## 
## 
##           Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                        430      22088              
## newgrowth  1   1186.5       429      20901 2.019e-09 ***
## volume     1   4160.1       428      16741 < 2.2e-16 ***
## branches   1   2497.9       427      14243 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#interactions
m31 <- glm(fruits ~ newgrowth * volume * branches, data=master, family="quasipoisson")
summary(m31) #no significance and VIFs recommend against this model
## 
## Call:
## glm(formula = fruits ~ newgrowth * volume * branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -10.4413   -2.5304    0.0632    2.6404    7.8896  
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                2.580e+00  1.136e-01  22.707   <2e-16 ***
## newgrowth                  8.360e-05  3.486e-03   0.024   0.9809    
## volume                     7.094e-06  4.993e-07  14.207   <2e-16 ***
## branches                   2.724e-03  1.782e-04  15.285   <2e-16 ***
## newgrowth:volume          -1.632e-08  9.469e-09  -1.723   0.0855 .  
## newgrowth:branches        -4.535e-06  4.208e-06  -1.078   0.2818    
## volume:branches           -7.071e-09  4.876e-10 -14.500   <2e-16 ***
## newgrowth:volume:branches  1.812e-11  1.002e-11   1.807   0.0714 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 16.09637)
## 
##     Null deviance: 22087.6  on 430  degrees of freedom
## Residual deviance:  7689.1  on 423  degrees of freedom
##   (286 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5

Allocation between physical and reproductive structures: Fruit weight and Fruit Volume

#fruit weight 
#volume
m7 <-glm(fruit.weight~volume, data=master, family="quasipoisson")
summary(m7) #not significant
## 
## Call:
## glm(formula = fruit.weight ~ volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.2013  -0.7641  -0.2510   0.3082  17.8083  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1.297e+00  4.789e-02  27.075   <2e-16 ***
## volume      2.507e-07  1.644e-07   1.525    0.128    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.142663)
## 
##     Null deviance: 1027.5  on 689  degrees of freedom
## Residual deviance: 1020.5  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#branches
m8 <- glm(fruit.weight~branches, data=master, family="quasipoisson")
summary(m8) #not significant
## 
## Call:
## glm(formula = fruit.weight ~ branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1787  -0.7853  -0.2477   0.3306  17.8646  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1.2906581  0.0550182  23.459   <2e-16 ***
## branches    0.0001176  0.0000892   1.319    0.188    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.172329)
## 
##     Null deviance: 1027.5  on 689  degrees of freedom
## Residual deviance: 1022.1  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#new growth
m9 <- glm(fruit.weight~newgrowth, data=master, family="quasipoisson")
summary(m9) #significant
## 
## Call:
## glm(formula = fruit.weight ~ newgrowth, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.2060  -0.7913  -0.2826   0.3434  17.8892  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1.227605   0.051508  23.833  < 2e-16 ***
## newgrowth   0.003458   0.001066   3.243  0.00124 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.140487)
## 
##     Null deviance: 1027.52  on 689  degrees of freedom
## Residual deviance:  996.66  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#additive
m10 <- glm(fruit.weight ~ newgrowth + volume + branches, data=master, family="quasipoisson")
summary(m10) #only newgrowth is significant
## 
## Call:
## glm(formula = fruit.weight ~ newgrowth + volume + branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.2111  -0.8000  -0.2818   0.3304  17.8422  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.235e+00  5.761e-02  21.446  < 2e-16 ***
## newgrowth    3.639e-03  1.262e-03   2.884  0.00405 ** 
## volume       1.516e-07  2.453e-07   0.618  0.53682    
## branches    -9.321e-05  1.403e-04  -0.664  0.50662    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.124721)
## 
##     Null deviance: 1027.52  on 689  degrees of freedom
## Residual deviance:  995.12  on 686  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
anova(m10, test="Chisq") #still, newgrowth is the only significant predictor
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: fruit.weight
## 
## Terms added sequentially (first to last)
## 
## 
##           Df Deviance Resid. Df Resid. Dev Pr(>Chi)   
## NULL                        689    1027.52            
## newgrowth  1  30.8540       688     996.66 0.001676 **
## volume     1   0.1594       687     996.51 0.821301   
## branches   1   1.3873       686     995.12 0.505211   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#interactions
m11 <- glm(fruit.weight ~ newgrowth * volume * branches, data=master, family="quasipoisson")
summary(m11) #no significance and VIFs recommend against this model
## 
## Call:
## glm(formula = fruit.weight ~ newgrowth * volume * branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.0896  -0.7667  -0.2749   0.3037  17.7099  
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                1.164e+00  1.338e-01   8.698   <2e-16 ***
## newgrowth                  6.431e-03  4.724e-03   1.361    0.174    
## volume                     1.097e-06  8.135e-07   1.349    0.178    
## branches                  -5.943e-05  3.050e-04  -0.195    0.846    
## newgrowth:volume          -2.005e-08  1.459e-08  -1.374    0.170    
## newgrowth:branches        -4.192e-06  6.816e-06  -0.615    0.539    
## volume:branches           -9.313e-10  7.606e-10  -1.224    0.221    
## newgrowth:volume:branches  2.211e-11  1.615e-11   1.369    0.171    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.062498)
## 
##     Null deviance: 1027.52  on 689  degrees of freedom
## Residual deviance:  983.03  on 682  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#fruit volume
#volume
m12 <-glm(fruit.volume~volume, data=master, family="quasipoisson")
summary(m12) #not significant
## 
## Call:
## glm(formula = fruit.volume ~ volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##    Min      1Q  Median      3Q     Max  
## -95.28  -37.63    4.98   26.71  158.58  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.933e+00  2.430e-02 367.535   <2e-16 ***
## volume      -3.270e-08  8.880e-08  -0.368    0.713    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1576.906)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1094447  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 4
#branches
m13 <- glm(fruit.volume~branches, data=master, family="quasipoisson")
summary(m13) #not significant
## 
## Call:
## glm(formula = fruit.volume ~ branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -95.052  -37.718    5.374   27.047  158.194  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 8.926e+00  2.761e-02 323.262   <2e-16 ***
## branches    1.707e-06  4.631e-05   0.037    0.971    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1575.749)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1094660  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 4
#new growth
m14 <- glm(fruit.volume~newgrowth, data=master, family="quasipoisson")
summary(m14) #significant
## 
## Call:
## glm(formula = fruit.volume ~ newgrowth, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -97.000  -34.864    4.496   24.422  162.307  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 8.8376903  0.0256724 344.249  < 2e-16 ***
## newgrowth   0.0026239  0.0005445   4.819 1.78e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1527.014)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1061008  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 4
#additive
m15 <- glm(fruit.volume~newgrowth + volume + branches, data=master, family="quasipoisson")
summary(m15) #newgrowth is significant
## 
## Call:
## glm(formula = fruit.volume ~ newgrowth + volume + branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -100.735   -32.625     4.529    22.165   171.547  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.874e+00  2.871e-02 309.090  < 2e-16 ***
## newgrowth    3.593e-03  6.449e-04   5.572 3.62e-08 ***
## volume      -1.216e-07  1.314e-07  -0.925    0.355    
## branches    -9.912e-05  7.235e-05  -1.370    0.171    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1527.733)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1048295  on 686  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 4
anova(m15, test="Chisq") #but post-hoc says new growth AND volume are significant
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: fruit.volume
## 
## Terms added sequentially (first to last)
## 
## 
##           Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                        689    1094662              
## newgrowth  1    33654       688    1061008 2.686e-06 ***
## volume     1     9830       687    1051178    0.0112 *  
## branches   1     2883       686    1048295    0.1695    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#interactions
m16 <- glm(fruit.volume~newgrowth * volume * branches, data=master, family="quasipoisson")
summary(m16) #not significant and VIFs not ok with model
## 
## Call:
## glm(formula = fruit.volume ~ newgrowth * volume * branches, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -100.37   -30.93     1.50    21.78   178.11  
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                8.968e+00  6.534e-02 137.251   <2e-16 ***
## newgrowth                  2.145e-03  2.364e-03   0.907    0.365    
## volume                    -4.282e-07  4.182e-07  -1.024    0.306    
## branches                  -2.912e-04  1.540e-04  -1.891    0.059 .  
## newgrowth:volume           6.874e-10  7.376e-09   0.093    0.926    
## newgrowth:branches         2.049e-06  3.450e-06   0.594    0.553    
## volume:branches            4.245e-10  3.847e-10   1.104    0.270    
## newgrowth:volume:branches -1.239e-12  8.164e-12  -0.152    0.879    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1528.818)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1038692  on 682  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5

Relationships between reproductive structures

We have several different metrics for reproductive structure. As of now, available metrics are: 1) number of buds, 2) blooming/not blooming as of June 8th, and 3) number of fruits, 4) fruit size, and 5) fruit weight. We are still collecting the data on 6) seed weight, 7) seed count.

#buds and fruits
m17<- glm(buds~fruits, data=paired, family="quasipoisson")
summary(m17)
## 
## Call:
## glm(formula = buds ~ fruits, family = "quasipoisson", data = paired)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -19.892  -11.129   -5.024    1.692   34.381  
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.248085   0.223145  19.037  < 2e-16 ***
## fruits      0.007743   0.001773   4.366 5.28e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 160.5297)
## 
##     Null deviance: 10083.9  on 59  degrees of freedom
## Residual deviance:  7515.9  on 58  degrees of freedom
##   (40 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 6
#fruits and fruit volume
m18 <- glm(fruits~fruit.volume, data=master, family="quasipoisson")
summary(m18) #not significant
## 
## Call:
## glm(formula = fruits ~ fruit.volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -11.637   -6.579   -2.071    4.815   16.828  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.282e+00  1.014e-01  42.245   <2e-16 ***
## fruit.volume 3.966e-06  1.111e-05   0.357    0.721    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 51.37117)
## 
##     Null deviance: 20110  on 416  degrees of freedom
## Residual deviance: 20103  on 415  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#fruits and fruit weight
m19 <- glm(fruits~fruit.weight, data=master, family="quasipoisson")
summary(m19) #not significant
## 
## Call:
## glm(formula = fruits ~ fruit.weight, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -11.685   -6.634   -1.871    4.853   17.478  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.21086    0.08338  50.503   <2e-16 ***
## fruit.weight  0.02428    0.01679   1.446    0.149    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 51.08529)
## 
##     Null deviance: 20110  on 416  degrees of freedom
## Residual deviance: 20005  on 415  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#fruit volume and fruit weight
m20 <- glm(fruit.volume~fruit.weight, data=master, family="quasipoisson")
summary(m20) #significant
## 
## Call:
## glm(formula = fruit.volume ~ fruit.weight, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -240.812   -33.839     5.798    22.480   128.796  
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   8.81736    0.01870  471.53   <2e-16 ***
## fruit.weight  0.02651    0.00211   12.56   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1330.506)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance:  966144  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 7
anova(m20, test="Chisq")
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: fruit.volume
## 
## Terms added sequentially (first to last)
## 
## 
##              Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                           689    1094662              
## fruit.weight  1   128518       688     966144 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#additive fruit weight and fruit volume
m21 <- glm(fruits~fruit.weight + fruit.volume, data=master, family="quasipoisson")
summary(m21) #not significant
## 
## Call:
## glm(formula = fruits ~ fruit.weight + fruit.volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -11.826   -6.670   -1.949    4.890   18.427  
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.281e+00  1.008e-01  42.470   <2e-16 ***
## fruit.weight  5.032e-02  2.700e-02   1.863   0.0631 .  
## fruit.volume -2.181e-05  1.792e-05  -1.216   0.2245    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 50.82889)
## 
##     Null deviance: 20110  on 416  degrees of freedom
## Residual deviance: 19929  on 414  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#interactions between fruit weight and fruit volume
m22 <- glm(fruits~fruit.weight * fruit.volume, data=master, family="quasipoisson")
summary(m22) #fruit volume alone is significant here. 
## 
## Call:
## glm(formula = fruits ~ fruit.weight * fruit.volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -12.723   -6.623   -1.761    4.998   18.430  
## 
## Coefficients:
##                             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                4.492e+00  1.543e-01  29.119   <2e-16 ***
## fruit.weight              -4.814e-03  4.123e-02  -0.117   0.9071    
## fruit.volume              -4.443e-05  2.187e-05  -2.031   0.0429 *  
## fruit.weight:fruit.volume  4.986e-06  2.775e-06   1.797   0.0731 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 50.01693)
## 
##     Null deviance: 20110  on 416  degrees of freedom
## Residual deviance: 19783  on 413  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
anova(m22, test="Chisq") #no significance in posthoc
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: fruits
## 
## Terms added sequentially (first to last)
## 
## 
##                           Df Deviance Resid. Df Resid. Dev Pr(>Chi)  
## NULL                                        416      20110           
## fruit.weight               1  104.556       415      20005  0.14823  
## fruit.volume               1   76.086       414      19929  0.21744  
## fruit.weight:fruit.volume  1  146.672       413      19783  0.08682 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#fruit weight and buds
m23 <- glm(fruit.weight~buds, data=master, family="quasipoisson")
summary(m23) #not significant
## 
## Call:
## glm(formula = fruit.weight ~ buds, family = "quasipoisson", data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1404  -0.7765  -0.2805   0.3182  17.7533  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.348e+00  4.811e-02  28.015   <2e-16 ***
## buds        -1.036e-05  2.113e-04  -0.049    0.961    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 3.136868)
## 
##     Null deviance: 1027.5  on 689  degrees of freedom
## Residual deviance: 1027.5  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
#fruit volume and buds
m24 <- glm(fruit.volume~buds, data=master, family="quasipoisson")
summary(m24) #not significant
## 
## Call:
## glm(formula = fruit.volume ~ buds, family = "quasipoisson", data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -95.157  -37.700    5.159   26.896  158.605  
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.930e+00  2.436e-02 366.548   <2e-16 ***
## buds        -1.875e-05  1.071e-04  -0.175    0.861    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 1576.978)
## 
##     Null deviance: 1094662  on 689  degrees of freedom
## Residual deviance: 1094614  on 688  degrees of freedom
##   (27 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 4
#fruit metrics and buds additive
m25 <- glm(buds~fruits + fruit.weight + fruit.volume, data=master, family="quasipoisson")
summary(m25) #fruits is only signficant factor
## 
## Call:
## glm(formula = buds ~ fruits + fruit.weight + fruit.volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -15.9194   -9.9949   -3.4884   -0.4775   29.5589  
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   4.661e+00  1.205e-01  38.666  < 2e-16 ***
## fruits        4.984e-03  6.043e-04   8.247 2.19e-15 ***
## fruit.weight  2.524e-02  2.939e-02   0.859    0.391    
## fruit.volume -9.476e-06  1.912e-05  -0.496    0.620    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 135.9383)
## 
##     Null deviance: 55193  on 416  degrees of freedom
## Residual deviance: 46443  on 413  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
anova(m25, test="Chisq") #same
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: buds
## 
## Terms added sequentially (first to last)
## 
## 
##              Df Deviance Resid. Df Resid. Dev  Pr(>Chi)    
## NULL                           416      55193              
## fruits        1   8638.0       415      46555 1.569e-15 ***
## fruit.weight  1     78.5       414      46477    0.4472    
## fruit.volume  1     33.6       413      46443    0.6192    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#fruit metrics and buds interactions
m26 <- glm(buds~fruits * fruit.weight * fruit.volume, data=master, family="quasipoisson")
summary(m26) #fruits:fruit.weight is the only factor not significant
## 
## Call:
## glm(formula = buds ~ fruits * fruit.weight * fruit.volume, family = "quasipoisson", 
##     data = master)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -19.385   -9.249   -3.347    1.253   31.328  
## 
## Coefficients:
##                                    Estimate Std. Error t value Pr(>|t|)
## (Intercept)                       5.594e+00  2.643e-01  21.167  < 2e-16
## fruits                            4.646e-04  1.789e-03   0.260 0.795272
## fruit.weight                     -1.583e-01  7.496e-02  -2.111 0.035349
## fruit.volume                     -1.539e-04  3.935e-05  -3.911 0.000107
## fruits:fruit.weight               5.593e-04  5.103e-04   1.096 0.273712
## fruits:fruit.volume               8.842e-07  2.598e-07   3.403 0.000733
## fruit.weight:fruit.volume         2.409e-05  5.460e-06   4.412 1.31e-05
## fruits:fruit.weight:fruit.volume -1.141e-07  3.245e-08  -3.516 0.000486
##                                     
## (Intercept)                      ***
## fruits                              
## fruit.weight                     *  
## fruit.volume                     ***
## fruits:fruit.weight                 
## fruits:fruit.volume              ***
## fruit.weight:fruit.volume        ***
## fruits:fruit.weight:fruit.volume ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for quasipoisson family taken to be 127.9717)
## 
##     Null deviance: 55193  on 416  degrees of freedom
## Residual deviance: 43875  on 409  degrees of freedom
##   (300 observations deleted due to missingness)
## AIC: NA
## 
## Number of Fisher Scoring iterations: 5
anova(m26, test="Chisq") #but here, only fruits, fruit.weight:fruit.volume, and fruits:fruit.weight:fruit.volume are significant. However, the VIFs for this model suggest it isn't a good model
## Analysis of Deviance Table
## 
## Model: quasipoisson, link: log
## 
## Response: buds
## 
## Terms added sequentially (first to last)
## 
## 
##                                  Df Deviance Resid. Df Resid. Dev
## NULL                                               416      55193
## fruits                            1   8638.0       415      46555
## fruit.weight                      1     78.5       414      46477
## fruit.volume                      1     33.6       413      46443
## fruits:fruit.weight               1     75.5       412      46368
## fruits:fruit.volume               1    280.5       411      46087
## fruit.weight:fruit.volume         1    498.8       410      45588
## fruits:fruit.weight:fruit.volume  1   1713.4       409      43875
##                                   Pr(>Chi)    
## NULL                                          
## fruits                           < 2.2e-16 ***
## fruit.weight                     0.4333943    
## fruit.volume                     0.6084775    
## fruits:fruit.weight              0.4425327    
## fruits:fruit.volume              0.1387584    
## fruit.weight:fruit.volume        0.0483493 *  
## fruits:fruit.weight:fruit.volume 0.0002531 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Binomial glm models gave errors, but if we can get them to work, we can also see the relationship between blooms and other metrics, as well as the presence/absence of Cactus Wren nests.

Next steps: expand models to include seed weight and seed count. Identify what the middle/end to this story exactly is.